/**
 * 文  件  名：  IActivityDao.java
 * 工  程  名：  7You
 * 创建日期：  2013-10-13
 * 创建作者：  杨  强
 */
package com.qiyou.dao;

import java.sql.SQLException;
import java.util.List;

import com.qiyou.entity.Activity;

/**
 * 活动数据操作接口
 * 
 * @author 杨 强
 * 
 */
public interface IActivityDao {
    /**
     * 创建一个活动
     * 
     * @param activity
     *            活动
     * @return true成功，false失败
     * @throws SQLException
     *             数据库异常
     */
    public boolean doCreate(Activity activity) throws SQLException;

    /**
     * 更新一个活动
     * 
     * @param activity
     *            新活动信息
     * @return true成功，false失败
     * @throws SQLException
     *             数据库异常
     */
    public boolean doUpdate(Activity activity) throws SQLException;

    /**
     * 删除一个活动
     * 
     * @param activityID
     *            活动ID
     * @return true成功，false失败
     * @throws SQLException
     *             数据库异常
     */
    public boolean doDelete(long activityID) throws SQLException;

    /**
     * 获取指定标识的活动
     * 
     * @param activityID
     *            活动ID
     * @return 活动信息
     * @throws SQLException
     *             数据库异常
     */
    public Activity getActivity(long activityID) throws SQLException;

    /**
     * 获取指定用户的发起的活动信息集合
     * 
     * @param userID
     *            用户标识
     * @return 活动信息集合
     * @throws SQLException
     *             数据库异常
     */
    public List<Activity> getActivities(String userID) throws SQLException;

    /**
     * 根据相关条件查询活动信息集合
     * 
     * @param params
     *            查询条件，可为空
     *            <p>
     *            示例：
     *            <ol>
     *            <li>new
     *            String[]{"where `acStartDate` > DATE('2003-12-31 01:02:03')"}<br>
     *            将查询在'2003-12-31 01:02:03'之后的活动信息</li>
     *            </ol>
     *            </p>
     * @return 活动信息集合
     * @throws SQLException
     *             数据库异常
     */
    public List<Activity> getActivities(Object... params) throws SQLException;
}
